package hn.cch.example.other;

public class Calculate {

    /**
     * 计算组合数（从m个中取n个组合）
     *
     * @param m 总共有m个
     * @param n 组合为n个
     * @return
     */
    public static int calculateCombination(int m, int n) {

        if (m < n) {
            return 0;
        }
        int max = 1, min = 1;
        for (int i = 0; i < n; i++) {
            max *= m - i;
            min *= n - i;
        }
        return max / min;
    }

    /**
     * 计算排序数（从m个中取n个排序）
     *
     * @param m 总共有m个
     * @param n 排序为n个
     * @return
     */
    public static int calculateArrangement(int m, int n) {

        if (m < n) {
            return 0;
        }
        int ret = 1;
        for (int i = 0; i < n; i++) {
            ret *= m - i;
        }
        return ret;
    }

}
